const jwt = require("jsonwebtoken")
const { PRIVATE_KEY, PUBLIC_KEY } = require("../app/screct")

class LoginController {
  // 处理用户登入
  sign(ctx, next) {
    // 获取当前用户的信息
    const { id, name } = ctx.user
    let token = ""
    //  前三步在 login.middleware 中
    // 4. 颁发令牌，传入 token
    try {
      token = jwt.sign({ id, name }, PRIVATE_KEY, {
        // 超时时间，一天 单位秒
        expiresIn: 24 * 60 * 60,
        // 加密算法
        algorithm: "RS256",
      })
    } catch (err) {
      console.log(err)
    }
    // console.log(token)
    // 返回用户信息
    ctx.body = { code: 0, data: { id, name, token } }
  }

  test(ctx, next) {
    // 验证身份
    ctx.body = "token 验证身份通过"
  }
}

module.exports = new LoginController()
